package com.ruoyi.project.cms.type.service;

import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.project.cms.commons.CMSConst;
import com.ruoyi.project.cms.type.domain.Type;
import com.ruoyi.project.cms.type.mapper.TypeAddMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class AddTypeServiceImpl implements IAddTypeService {
    @Autowired
    private TypeAddMapper typeAddMapper;

    @Override
    public String checkTypeNameUnique(Type type) {

        // 当前可能是在修改公告类型，也可能在新增公告类型。 如果是修改，则需要判定主键。
        Long typeId = StringUtils.isNull(type.getTypeId()) ? -1L : type.getTypeId();
        Type info = typeAddMapper.checkTypeNameUnique(type.getTypeName());
        if (StringUtils.isNotNull(info) && info.getTypeId().longValue() != typeId.longValue())
        {
            return CMSConst.TYPE_NAME_NOT_UNIQUE;
        }
        return CMSConst.TYPE_NAME_UNIQUE;
    }

    @Override
    public int insertType(Type type) {
        //将当前登录用户的登录名，赋值到createBy属性中。
        type.setCreateBy(ShiroUtils.getLoginName());
      int i=  typeAddMapper.insertType(type);
        return i;

    }
}
